[% setvar title The Perl 6 summary for the week ending 2005-12-18 %]
<div id="archive-notice">
    <h3>This file is part of the Perl 6 Archive</h3>
    <p>To see what is currently happening visit <a href="http://www.perl6.org/">http://www.perl6.org/</a></p>
</div>
<div class='pod'>
<a name='The Perl 6 summary for the week ending 2005-12-18'></a><h1>The Perl 6 summary for the week ending 2005-12-18</h1>
<p>Welcome to another Perl 6 summary. This has been a week of shootouts,
cleanups, relationships and cunning translations. Read on for the
details (or, this being a summary, pointers to the details).</p>
<a name='This week in perl6-compiler'></a><h1>This week in perl6-compiler</h1>
<p>2 messages? Sometimes I wonder why I even bother summarizing this
list; I could just paste its contents in their entirety. However:</p>
<a name='Call for a Pumpking: Do you want a Ponie?'></a><h2>Call for a Pumpking: Do you want a Ponie?</h2>
<p>Jesse announced that Nicholas Clark was retiring as Ponie's Pumpking
following his departure from Fotango. So we're looking for another
volunteer to take Ponie from its current state to a working Perl 5
runtime fully integrated with Parrot. If you're a C programmer with a
good grasp of the Perl 5 internals and you're interested in taking on
the job, <a href='mailto:ponie-pumpking@perl.org'>ponie-pumpking@perl.org</a> is eager to hear from you.</p>
<p><a href='http://groups.google.com/groups?threadm=20051214225235.GR25436@bestpractical.com' target='_blank'>groups.google.com</a></p>
<a name='Pugs, Javascript and Perl 5'></a><h2>Pugs, Javascript and Perl 5</h2>
<p>Continuing Pugs' tradition of linguistic mashup, Chia-liang Kao
announced that Pugs Javascript backend can now support Perl5.</p>
<p><a href='http://groups.google.com/groups?threadm=20051214022446.GC9267@home.clkao.org' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-internals'></a><h1>Meanwhile, in perl6-internals</h1>
<a name='Parrot Shootout'></a><h2>Parrot Shootout</h2>
<p>Work continued on implementing and optimizing Parrot's entry for the
Language Shootout.</p>
<p><a href='http://groups.google.com/groups?threadm=05D985D7-A48E-44A2-9CFF-B219A18DF864@pacbell.net' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=31247ad5226f5927031cabb213a483b2@ritalin.shout.net' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=8109939b614a9dd99df5b9b7387c16bb@ritalin.shout.net' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=942c27460512151539h691425e4x1cfd06e3a3278e9@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=942c27460512151659h42872a66xa740809c47dd857a@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<p><a href='http://groups.google.com/groups?threadm=3bbbb64e9c99a66ec0d6f1b8bc693277@ritalin.shout.net' target='_blank'>groups.google.com</a></p>
<a name='Variables, Aliasing and Undefined-ness'></a><h2>Variables, Aliasing and Undefined-ness</h2>
<p>Matt Diephouse wondered how he should translate the following in to
PIR code:</p>
<pre>  $var   = &quot;Foo&quot;;
  *alias = *var;
  $alias = undef;
  $alias = &quot;Baz&quot;;
  print $var, &quot;\n&quot;;</pre>
<p>Audrey &quot;Autrijus&quot; Tang suggested that allowing multiple LexInfo names
to point to the same underlying register would make this sort of thing
(and several Perl6isms) a good deal easier to implement. Leo pointed
out that it actually had been implemented, though I'm not sure if
Luthor includes this. (Pugs always targets the latest Parrot
release).</p>
<p><a href='http://groups.google.com/groups?threadm=198c87380512150046o3efb9626x7c30588105b5b8e5@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='Cleaning up the build process'></a><h2>Cleaning up the build process</h2>
<p>Joshua Hoblitt went to town on RT posting a breakdown of proposed
refactorings of the Parrot build process</p>
<a name='ParTCL shootout'></a><h2>ParTCL shootout</h2>
<p>Will Coleda suggested that it would be useful to set things up to run
the TCL shootout benchmarks on ParTCL. He's not exactly sure that
they'd <i>work</i> just yet (or be fast, come to that), but they'd
certainly be a handy test/benchmark suite. After a couple of patches,
it seems that ParTCL can at least run the &quot;hello&quot; benchmark. Still,
a journey of a 1000 miles starts with but a single step and all that.</p>
<p><a href='http://groups.google.com/groups?threadm=3FB91E50-040E-4CD7-83DF-FC8D4AEFBCE2@coleda.com' target='_blank'>groups.google.com</a></p>
<a name='Parrot directory reorganization (phase 2 mark 3)'></a><h2>Parrot directory reorganization (phase 2 mark 3)</h2>
<p>Jerry Gay's reorganization of the Parrot distribution's directory
structure continued apace. Reorganizing the JIT subdirectory and its
associated config system proved to be something of a sticking place,
but Joshua Hoblitt sorted things out.</p>
<p><a href='http://groups.google.com/groups?threadm=1d9a3f400512121814m6e6a64d4gfccddfc95a9a5cfd@mail.gmail.com' target='_blank'>groups.google.com</a></p>
<a name='Bug or feature?'></a><h2>Bug or feature?</h2>
<p>Chip had some thoughts about PIR's macro support and concluded that we
need a robust multi-line quoting convention in order to pass multiple
lines of code to macros. He outlined some suggested syntax. Discussion
ensued, mostly favourable.</p>
<p><a href='http://groups.google.com/groups?threadm=20051212185501.GK6257@tytlal.topaz.cx' target='_blank'>groups.google.com</a></p>
<a name='Building Parrot includes'></a><h2>Building Parrot includes</h2>
<p>Leo noted that the files in <b><i>runtime/parrot/include/*.pasm</i></b> are
created by configure. He argued that they should really be generated
by a Makefile rule, which would have the advantage of taking note of
dependencies. There followed a certain amount of quibbling with Joshua
Hoblitt, but I don't think anyone disagrees with the gist of the proposal.</p>
<p><a href='http://groups.google.com/groups?threadm=rt-3.0.11-37898-125569.9.16891768502722@perl.org' target='_blank'>groups.google.com</a></p>
<a name='Library loading - no more duplicates'></a><h2>Library loading - no more duplicates</h2>
<p>Leo announce that, as a of r10458, Parrot doesn't <code>load_bytecode</code>
from the same file twice any more. Chip and Nicholas Clark applauded
the change and plotted ways to make it even more effective.</p>
<p><a href='http://groups.google.com/groups?threadm=439D6A23.80305@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Fixing japhs'></a><h2>Fixing japhs</h2>
<p>Not content with implementing shootout benchmarks, Joshua Isom has
also fixed a few of Parrot's example japhs.</p>
<p><a href='http://groups.google.com/groups?threadm=dcf0c8153462a13760cc9f0c6ccd0070@ritalin.shout.net' target='_blank'>groups.google.com</a></p>
<a name='Q: String.get_integer'></a><h2>Q: String.get_integer</h2>
<p>Leo had some questions about magical conversion between strings and
integers. Patrick and others reckoned that his proposed behaviour was
about right. Personally, I'm not convinced that the basic String PMC
should do any magic conversion, but PerlString definitely should.</p>
<p><a href='http://groups.google.com/groups?threadm=43A2D3BD.6010203@toetsch.at' target='_blank'>groups.google.com</a></p>
<a name='Parrot Borking'></a><h2>Parrot Borking</h2>
<p>Steve Gunnell had a problems with Parrot throwing segfaults. Leo gave
him some pointers to tracking the issue down and recommended using the
SVN repository and not the CVS mirror.</p>
<p><a href='http://groups.google.com/groups?threadm=1134899914.8669.11.camel@eldred.local' target='_blank'>groups.google.com</a></p>
<a name='Meanwhile, in perl6-language'></a><h1>Meanwhile, in perl6-language</h1>
<a name='Relational data models and Perl 6'></a><h2>Relational data models and Perl 6</h2>
<p>Darren Duncan's been doing some thinking about Relational data models
and how to support working with them in Perl 6 and posted the results
of his thought on this to the list. Lots of discussion ensued. There
was a fair amount of quibbling over details, but the general tenor of
the discussion was in favour of supporting relational data models
(possibly as a separate module).</p>
<p><a href='http://groups.google.com/groups?threadm=p06230900bfc66428a67e@' target='_blank'>groups.google.com</a>[192.168.1.100]</p>
<a name='Handling undef better'></a><h2>Handling <code>undef</code> better</h2>
<p>Darren also had some ideas about making undef behave more like a
relational NULL. These were received a little less favourably -- they
aren't exactly compatible with autovivification, which is one of those
things that many people like about Perl.</p>
<p>So, a little later, Darren retracted his original proposal and posted
a new one which takes into account the various different ways in which
undef gets used in Perl programs.</p>
<p><a href='http://groups.google.com/groups?threadm=p06230900bfc90d05004d@' target='_blank'>groups.google.com</a>[192.168.1.100]</p>
<p><a href='http://groups.google.com/groups?threadm=p06230900bfca4b9752ed@' target='_blank'>groups.google.com</a>[192.168.1.100]</p>
<a name='Transliteration preferring longest match'></a><h2>Transliteration preferring longest match</h2>
<p>Brad Bowman wondered why the <code>trans</code> function described in Synopsis
05 specifies that the longest matching input sequence should be the
one that wins. He thought that a simple 'first in order' rule would be
more useful and flexible. The answer was that, because transliteration
matches literal strings, if you didn't have 'longest' wins rules then,
depending on the order, you might as well simply remove the longer
literal because it'd never be used.</p>
<p><a href='http://dev.perl.org/perl6/doc/design/syn/S05.html' target='_blank'>dev.perl.org</a>#Transliteration</p>
<p><a href='http://groups.google.com/groups?threadm=43A1ACDB.2060603@bereft.net' target='_blank'>groups.google.com</a></p>
<a name='Import/export and module configuration'></a><h2>Import/export and module configuration</h2>
<p>Gaal Yahas had some questions about Perl 6's import/export model and
the various hooks that get called in the process. Larry had many
answers and speculations. He also noted that he can now 'translate
about 95% of random Perl 5 back to identical Perl 5'. Which probably
doesn't sound like much at first glance, but it means he's getting a
great deal closer to being able to translate random Perl 5 code into
equivalent Perl 6 code.</p>
<p>As Larry puts it, he is &quot;now confident that we can hit the original
p5-to-p6 spec of translating 95% of scripts at least 95% accurately&quot;.</p>
<p><a href='http://groups.google.com/groups?threadm=20051213104247.GA4095@sike.forum2.org' target='_blank'>groups.google.com</a></p>
<a name='Acknowledgements, apologies and everything else'></a><h1>Acknowledgements, apologies and everything else</h1>
<p>Wow! It's still Monday! The move went pretty smoothly and our lives
are slowly emerging from the boxes they had been packed in. We're
still boggling at how many boxes of china there were though. At one
point I began to think we'd packed the country in there. I'm typing
this from my new office on the second (third if you're American) floor
of our new (well, 178 years old, but new to us) house and wondering
how much of the stuff that's spread out over two table tops is really
necessary.</p>
<a name='Help Chip'></a><h2>Help Chip</h2>
<p><a href='http://geeksunite.org/' target='_blank'>geeksunite.org</a> -- Chip still needs help.</p>
<a name='The usual coda'></a><h2>The usual coda</h2>
<p>If you find these summaries useful or enjoyable, please consider
contributing to the Perl Foundation to help support the development of
Perl.</p>
<p><a href='http://donate.perlfoundation.org/' target='_blank'>donate.perlfoundation.org</a> -- The Perl Foundation</p>
<p>The Perl Foundation Blog is an excellent source of news about the Perl
Foundation's activities.</p>
<p><a href='http://blog.perlfoundation.org/' target='_blank'>blog.perlfoundation.org</a></p>
<p>Planet Perl Six is a handy news aggregator of several Perl 6 related
sources.</p>
<p><a href='http://planet6.perl.org/' target='_blank'>planet6.perl.org</a></p>
<p><a href='http://dev.perl.org/perl6/' target='_blank'>dev.perl.org</a> -- Perl 6 Development site</p>
<p>Check out my website, it's lovely.</p>
<p><a href='http://www.bofh.org.uk/' target='_blank'>www.bofh.org.uk</a></p>
<p>Vaguely pretty photos by me can be found at:</p>
<p><a href='http://www.flickr.com/photos/pdcawley' target='_blank'>www.flickr.com</a></p>
</div>
